Unfold/Fold Transformations For Definite Clause Programs
نویسندگان
چکیده
An unfold/fold program transformation system which extends the unfold/fold transformations of H. Tamaki and T. Sato is presented in this paper. The system consists of unfolding, simultaneous folding , and generalization + equality introduction rules. The simultaneous folding rule permits the folding of a set of folded clauses into a single clause, using a set of folding clauses, while the generalization + equality introduction rule facilitates the application of the simultaneous folding rule by performing appropriate abstractions. A proof of the correctness of the proposed transformations in the sense of the least Herbrand model semantics of the program is also presented.
منابع مشابه
Specialization of Prolog Programs with Partially Static Goals and Binarization
This thesis presents two new methods that specialize ordinary and binary Prolog programs and compares them with current approaches. The first method is based on the new notion of partially static goals. Partially static goals generalize binding environments. More information can be propagated for specialization. The method is well suited for application in fold/unfold transformation systems. Th...
متن کاملInduction Proofs by Program Transformations
Unfold/fold transformations have been studied for various declarative programming languages such as functional languages [5, 12, 21], logic programming [14, 22, 23] and constraint logic programming [1, 8, 13]. Some of the most extensively studied transformation systems for logic programs are the unfold/fold transformation systems. At a high level, unfold and fold transformations for definite lo...
متن کاملBeyond Tamaki-Sato Style Unfold/Fold Transformations for Normal Logic Programs
Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs typically fold using using a single, non-recursive clause i.e. the folding transformation is very restricted. In this paper we present a transformation system that permits folding in the presence of recursion, disjunction, as well as neg...
متن کاملA Parameterized Unfold/Fold Transformation Framework for Definite Logic Programs
Given a program P , an unfold/fold program transformation system derives a sequence of programs P = P0, P1, : : : , Pn, such that Pi+1 is derived from Pi by application of either an unfolding or a folding step. Existing unfold/fold transformation systems for de nite logic programs di er from one another mainly in the kind of folding transformations they permit at each step. Some allow folding u...
متن کاملProofs by Program Transformations
Logic program transformation systems are often described as a collection of unfolding, folding and goal replacement transformation rules. Given a program P , a logic program transformation system derives a sequence of programs P = P0; P1; : : : ; PN , such that for all 0 i < N , Pi+1 is obtained from Pi by application of one of the above rules. Logic program transformation systems are usually p...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994